
********************************************************************************
********************************************************************************

**Treger, C (2021). When do people accept government paternalism? Theory and
** experimental evidence. Regulation & Governance. 
**https://doi.org/10.1111/rego.12443

**Replication Code**
**Author: Clareta Treger, Email: Claretatreger88@gmail.com
**Updated: September 27, 2022
********************************************************************************
********************************************************************************


******************* Note *******************************************************
** Below you can find the code for the analyses in the article and the Appendix.
** For more details regarding the variables and their coding, please read the
** "Read me" file on the Harvard dataverse.
********************************************************************************

use "Treger 2021_rego.12443_dataset"

******************

xtset rid


******************************************************************************
** Code used to generate new variables for analyses 
** (Note: it is already in the data file)
******************************************************************************


** DVs **

*Not opposed
recode support_ (1/4=0) (5/7=1) , gen(supported)
label define supported 0 "otherwise" 1 "supported" 
label values supported supported

*Supported
recode support_ (1/3=0) (4/7=1) , gen(not_opp)
label define not_opp 0 "opposed" 1 "not_opposed"
label values not_opp not_opp

** IVs **

*Coercivness 
gen coer = ., after (policy_)
label define coer 1 "Info" 2 "Default/Decision" 3 "Tax/Restriction" 4 "Ban/Mandate" 
label values coer coer

//info
replace coer = 1 if policy_ == "Information campaign on the importance of safety while riding an electric bicycle"
replace coer = 1 if policy_ == "Information campaign on the importance of swimming safety in public places"
replace coer = 1 if policy_ == "Information campaign on the importance of healthy nutrition"
replace coer = 1 if policy_ == "Information campaign on the dangers of smoking"
replace coer = 1 if policy_ == "Information campaign on the importance of retirement savings"
replace coer = 1 if policy_ == "Information campaign on the hazards of excessive working"
replace coer = 1 if policy_ == "Information campaign on euthanasia and its implications"
replace coer = 1 if policy_ == "Information campaign on the negative effects of pornography consumption "
//default/decision point
replace coer = 2 if policy_ == "City hall will automatically enroll buyers of electric bicycles to a meeting on riding safety with an option to opt-out"
replace coer = 2 if policy_ == "City hall will automatically enroll citizens to a meeting on swimming safety in public places with an option to opt-out"
replace coer = 2 if policy_ == "Pop-up notification for unhealthy food items at the cash-register requesting the customer to confirm the purchase"
replace coer = 2 if policy_ == "Pop-up notification for tobacco products at the cash-register requesting the customer to confirm the purchase"
replace coer = 2 if policy_ == "Automatic enrollment into a retirement savings plan with an option to opt-out"
replace coer = 2 if policy_ == "Employees have to be asked in advance whether they agree to work over 40 hours a week"
replace coer = 2 if policy_ == "Requiring individuals who wish to undergo euthanasia or their family members to participate in a couple of information sessions on the implications"
replace coer = 2 if policy_ == "TV packages and web browsers will be pornography-free. Individuals who wish to consume pornography will have to opt-in"
//tax/restriction
replace coer = 3 if policy_ == "Requiring compulsory insurance against self-inflicted accidents for electric bicycle owners with discounts for careful riders"
replace coer = 3 if policy_ == "Fee for swimming in public places in the absence of a lifeguard"
replace coer = 3 if policy_ == "Tax on unhealthy food products"
replace coer = 3 if policy_ == "Tax on tobacco products"
replace coer = 3 if policy_ == "Annual tax imposed on people who do not save for retirement"
replace coer = 3 if policy_ == "Fee for employers whose employees work over 40 hours a week"
replace coer = 3 if policy_ == "Restrictive eligibility criteria for undergoing euthanasia"
replace coer = 3 if policy_ == "Tax on the consumption of pornography "
//ban/mandate
replace coer = 4 if policy_ == "Requiring license for riding an electric bicycle"
replace coer = 4 if policy_ == "Ban on swimming in public places in the absence of a lifeguard"
replace coer = 4 if policy_ == "Ban on extremely unhealthy food products"
replace coer = 4 if policy_ == "Ban on smoking in public"
replace coer = 4 if policy_ == "Mandatory saving for retirement"
replace coer = 4 if policy_ == "Ban on working over 40 hours a week"
replace coer = 4 if policy_ == "Ban on euthanasia"
replace coer = 4 if policy_ == "Ban on consumption of pornography "


*Type 
gen type = ., after (coer)
replace type = 1 if coer == 1 | coer == 2
replace type = 2 if coer == 3 | coer == 4
label define type 1 "nudge" 2 "pat"

*Party1 (includind Independent and Other leaners)

gen party1 =.
replace party1 = 0 if party == 1 | party_ind == 3 
replace party1 = 1 if party == 2 | party_ind == 1 
replace party1 =2 if party1 ==.
label define party1 0 "Democrat" 1 "Republican" 3 "Independent"
label values party1 party1

****************************************************************************
** Analyses in the article 
****************************************************************************


************************
**Descriptives (p. 11)**
************************

tab not_opp coer if LQ !=1, col nofreq

********************************************************************************
** Figure 4: Share of policy proposals supported (panel A) or not opposed 
**(panel B) by respondent.
********************************************************************************

**Supported**
*For Non-Coercive policies (Panel A, Left)

preserve


drop if coer == 3
drop if coer == 4

collapse (mean) supported if LQ !=1, by(rid)
foreach x of varlist supported {
replace `x' = 100*`x'
}
tab supported
histogram supported, bin(10) percent fcolor(gs14) lcolor(none) gap(8) ///
yscale(range(0 30)) title (Non-Coercive Policy Proposals) ///
ytitle(Share of Sample) xtitle(Share of Proposals Supported) scheme(s1color) 

restore

*For Coercive policies (Panel A, Right)
preserve

drop if coer == 1
drop if coer == 2
collapse (mean) supported if LQ !=1, by(rid)
foreach x of varlist supported {
replace `x' = 100*`x'
}

tab supported
histogram supported, bin(10) percent fcolor(gs14) lcolor(none) gap(8) ///
yscale(range(0 30)) title (Coercive Policy Proposals) ///
ytitle(Share of Sample) xtitle(Share of Proposals Supported) scheme(s1color) 

restore

**Not opposed**
*For Non-Coercive policies (Panel B, Left)

preserve

drop if coer == 3
drop if coer == 4
collapse (mean) not_opp if LQ !=1, by(rid)
foreach x of varlist not_opp {
replace `x' = 100*`x'
}
tab not_opp
histogram not_opp , bin(10) percent fcolor(gs14) lcolor(none) gap(8) /// 
yscale(range(0 30)) title (Non-Coercive Policy Proposals) ///
ytitle(Share of Sample) xtitle(Share of Proposals Not Opposed) scheme(s1color) 

restore

*For Coercive policies (Panel B, Right)**
preserve

drop if coer == 1
drop if coer == 2
collapse (mean) not_opp if LQ !=1, by(rid)
foreach x of varlist not_opp {
replace `x' = 100*`x'
}
tab not_opp
histogram not_opp , bin(10) percent fcolor(gs14) lcolor(none) gap(8) /// 
yscale(range(0 30)) title (Coercive Policy Proposals) ///
ytitle(Share of Sample) xtitle(Share of Proposals Not Opposed) scheme(s1color) 

restore

********************************************************************************
** Figure 5: Share of paternalistic policy proposals supported in each domain, 
** by coercion level.
********************************************************************************

** The data from the following analyses was used to generate the trend line for
** 'Classic Paternalism': 

forvalues i = 1/4 {
tab supported type  if po_domain == `i'  & LQ !=1,col nofreq
}

** The data from the following analyses was used to generate the trend lines for
** 'Information' and 'Libertarian Paternalism': 

forvalues i = 1/4 {
tab supported coer if po_domain == `i'  & LQ !=1,col nofreq
}

********************************************************************************
** Figure 6: Effects of policy proposal attributes on the probability that 
** participants support the proposal.
** & Appendix Table B1 
********************************************************************************

xtreg supported i.coer i.public_support i.effective_ i.promoter i.imp ///
if LQ !=1, fe vce(robust) baselevel
eststo pooled

coefplot pooled, /// 
mlabsize(small) /// 
headings(1.coer="{bf: Coercion level}" 1.public_support="{bf: Public support}" ///
1.effective_="{bf:Effectiveness}" 5.promoter="{bf:Promoter}" ///
2.imp="{bf:Implementation}", ///
labcolor(black) labgap (3) labsize (vsmall)) mlabsize(tiny) msize(vsmall) lwidth(thin) /// 
coeflabels(2.coer="Nudge (Default/Decision point)" 1.effective_="Somewhat effective" ///
2.effective_="Effective" 3.effective_="Very effective" 4.effective_="Unknown" ///
4.promoter="NGO" , labsize(vsmall)) ///
order (1.coer 2.coer 3.coer 4.coer 1.public_support 2.public_support ///
3.public_support 4.public_support 5.public_support 1.effective_ 2.effective_ ///
3.effective_ 4.effective_ 5.promoter 4.promoter 1.promoter 6.promoter ///
2.promoter 3.promoter    2.imp 1.imp) ///
ciopts(lcolor(black)) drop (_cons) xline(0) base ///
xtitle("Effect on probability of Support", size(small)) scheme (s1color)


********************************************************************************
** Figure 7: Effects of coercion level on the probability of support for the 
** proposal, by policy domains.
** & Appendix Table B2 **
********************************************************************************

*Safety
xtreg supported i.coer i.public_support i.effective_ i.promoter i.imp /// 
if (po_domain == 1 & LQ !=1), fe vce(robust) baselevel 
eststo safety1

*Health
xtreg supported i.coer i.public_support i.effective_ i.promoter i.imp /// 
if (po_domain == 2 & LQ !=1), fe vce(robust) baselevel 
eststo health1

*Welfare
xtreg supported i.coer i.public_support i.effective_ i.promoter i.imp /// 
if (po_domain == 3 & LQ !=1), fe vce(robust) baselevel
eststo welfare1

*Morals
xtreg supported i.coer i.public_support i.effective_ i.promoter i.imp /// 
if (po_domain == 4 & LQ !=1), fe vce(robust) baselevel
eststo moral1

coefplot (safety1), bylabel(Safety) || (health1), bylabel(Health) || (welfare1), /// 
bylabel(Welfare) || (moral1), bylabel(Morals) ||, ///
mlabsize(small) headings(1.coer="{bf: Coercion Level}",  ///
labsize(small) labcolor(black)) msize(small) lwidth(thin) ///
coeflabels(2.coer="Nudge (Default/Decision point)", labsize(small)) ///
drop (_cons 1.public_support 2.public_support 3.public_support 4.public_support ///
5.public_support 1.effective_ 2.effective_ 3.effective_ 4.effective_ /// 
1.promoter 2.promoter 3.promoter 4.promoter 5.promoter 6.promoter 1.imp 2.imp) ///
xline(0) xscale(range(-.4 .2)) msymbol(D) base xtitle("Effect on probability of Support") ///
scheme (s1color) mcolor(black) ciopts(lcolor(black))

**********************************************
** Effectivness - Appendix Table B3 
**********************************************

xtreg supported i.type##i.effective_ i.public_support i.promoter i.imp /// 
if LQ !=1, fe vce(robust) baselevel

********************************************************************************
****					      Appendix            							****
********************************************************************************

****************************
*** Appendix S1: Sample ****
****************************

** Table A1

tab1 gender age edu race region hhi if LQ !=1 // for 1,370 respondents 
tab1 gender age edu race region hhi 		  // for 1,570 respondents 

** Table A2

tab party if LQ !=1 
tab party_ind party if LQ !=1, col 

** Table A3

tab ideo if LQ !=1 

********************************************
*** Appendix S2: Full regression models ****
********************************************

** Code for Tables B1-B3 is provided above 

** Table B4 & Figure B1

xtreg supported i.coer i.public_support i.effective_ i.promoter i.imp if LQ !=1 ///
& party1 == 0, fe vce(robust) baselevel
eststo Dem_sub

xtreg supported i.coer i.public_support i.effective_ i.promoter i.imp if LQ !=1 ///
& party1 == 1, fe vce(robust) baselevel
eststo Rep_sub 

coefplot (Dem_sub), bylabel(Democrats) || (Rep_sub), bylabel(Republicans) ||, ///
mlabsize(small) headings(1.coer="{bf: Coercion Level}" ///
1.public_support="{bf: Public support}" 1.effective_="{bf:Effectiveness}" ///
1.promoter="{bf:Promoter}" 1.imp="{bf:Implementation}", labsize(small) ///
labcolor(black)) mlabsize(v.small) msize(vsmall) lwidth(thin) ///
coeflabels(1.effective_="Somewhat effective" 2.effective_="Effective" ///
3.effective_="Very effective" 4.effective_="Unknown" 4.promoter="NGO", labsize(small)) /// 
ci(95) drop (_cons) xline(0) msymbol(D) xscale(range(-.2 .2)) base ///
xtitle("Effect on probability of Support") scheme (s1color)


** Table B5

*Pooled
xtreg choice_ i.coer i.public_support i.effective_ i.promoter i.imp if LQ !=1, fe vce(robust) baselevel

*by policy domain 

forvalues i = 1/4 {
xtreg choice_ i.coer i.public_support i.effective_ i.promoter i.imp if ///
(po_domain == `i' & LQ !=1), fe vce(robust) baselevel
}

*** End of Do File *** 
